# Language Server Protocol Official Page: [Official page for Language Server Protocol](https://microsoft.github.io/language-server-protocol/) > The Language Server Protocol (LSP) defines the protocol used between an editor or IDE and a language server that provides language features like auto complete, go to definition, find all references etc. The goal of the Language Server Index Format (LSIF, pronounced like "else if") is to support rich code navigation in development tools or a Web UI without needing a local copy of the source code. I want to potentially build a [[PROJ - Trustfall backend using Language Server Protocol]]. ## Links This is a whole series of videos about the [[Rust]] analyzer: - [Explaining rust-analyzer - YouTube](https://www.youtube.com/playlist?list=PLhb66M_x9UmrqXhQuIpWC5VgTdrGxMx3y) Some tutorials: - [Quick Start to VSCode Plug-ins: Write LSP Project from Scratch - Alibaba Cloud Community](https://www.alibabacloud.com/blog/quick-start-to-vscode-plug-ins-write-lsp-project-from-scratch_595297) - [Implementing a Language Server…How Hard Can It Be?? — Part 1 (Introduction) | by Nipuna Marcus | Ballerina-Techblog | Medium](https://medium.com/ballerina-techblog/implementing-a-language-server-how-hard-can-it-be-part-1-introduction-c915d2437076) - [A Practical Guide for Language Server Protocol | by Malintha Ranasinghe | Ballerina-Techblog | Medium](https://medium.com/ballerina-techblog/practical-guide-for-the-language-server-protocol-3091a122b750) Documentation: [Language Server Extension Guide | Visual Studio Code Extension API](https://code.visualstudio.com/api/language-extensions/language-server-extension-guide)